from openai import OpenAI
from globle import configs as cfg
import json
client = OpenAI(api_key=cfg.DEEPSEEK_API_KEY, base_url="https://api.deepseek.com")

'''
需求：做一个脚本，用以批量生成AI岗简历，并保存成md文件，文件命名规范：[姓名]_[性别]_[年龄].md
提示：需先建立一个简历生成助手，然后建立一个提取姓名等信息的助手，让其从第一个助手生成的简历中提取姓名等信息，之后便可保存文件了。
'''

#1. 做一个简历生成助手
def gen_profile():
    system_prompt = '''你是一个帮助我生成AI岗位简历的助手，简历随机性高一点，
背景花销点，学校冷门点，名字冷门点。需要包含姓名，性别，年龄等基础信息. 生成一份简历即可。
以json返回，字段：
- md: 简历的md文本
'''
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": "随机生成简历"}
        ],
        temperature=1.8,
        stream=False,
        response_format={"type": 'json_object'},
    )
    return json.loads(response.choices[0].message.content)['md']

#2. 做一个提取姓名等信息的助手
def get_information(profile):
    prompt = f'''帮助我提取AI岗位简历中的姓名，性别，年龄的助手，以json返回，
    例如 name:XX,age:XX,gender:X
    
    简历：{profile}
    '''
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "user", "content": prompt}
        ],
        temperature=0.2,
        stream=False,
        response_format={"type": 'json_object'},
    )
    return json.loads(response.choices[0].message.content)

#3 写一个工作流，批量生成简历，并保存成md文件
def play():
    for i in range(5):
        profile = gen_profile() # 先生成简历
        info = get_information(profile) # 再提取信息
        print(f"Generated: {info['name']}_{info['gender']}_{info['age']}.md")
        with open(f"docs/{info['name']}_{info['gender']}_{info['age']}.md", "w+",encoding="utf-8") as f: # 如果发现有乱码，可能是编码问题，请自行修改编码格式
            f.write(profile)



play()